home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BCI NET
/
BCI NET Dec 94.iso
/
archives
/
programming
/
languages
/
hpasm3.10e.lha
/
HPAsm3.10e
/
examples
/
AraiDemo.s
next >
Wrap
Text File
|
1994-10-03
|
6KB
|
427 lines
****************************************************
* AraiDemo © Vallée Christophe 1994 *
* Compatible HP48S(X)/HP48G(X) *
****************************************************
include entries.i
AddEcran = $131f8
con(5) DOCODE
DebutCode con(5) FinCode-DebutCode
gosbvl SAVPTR
lc(5) 3*28 reserve de la memoire pour les
gosbvl MAKE$N parametres des 3 araignees
ad0ex
r0=a
d0=a
a=pc
Offs1 lc(5) ARAI1-Offs1
a=a+c a
d1=a
lc(2) 27
Copy a=dat1 x
dat0=a x
d1=d1+ 3
d0=d0+ 3
c=c-1 b
gonc Copy
intoff
d1=(5) MENUROW1
lc(2) 55
dat1=c b
a=pc
Offs2 lc(5) Text-Offs2
a=a+c a
r1=a
r2=a
c=0 a
r3=c
r4=c
Loop d1=(5) MENUROW1
VBL c=dat1 b
?c#0 b
goyes VBL synchronisation avec l'ecran
gosub Scrolling
c=0 a
gosub Araignee
lc(5) 28
gosub Araignee
lc(5) 2*28
gosub Araignee
lc(3) allkeys teste si une touche est appuyee
out=c
gosbvl CINRTN
?c=0 x
goyes Loop
inton
gosbvl Flush
govlng GETPTRLOOP
**********************
* scrolling du texte *
**********************
Scrolling c=r3 a r3=tempo du scrolling
c=c-1 a ne scrolle que si r3=0
goc ScrollOk
r3=c a
rtn
ScrollOk lc(5) 1
r3=c a
c=r4 b r4=tempo d'affichage de lettre
c=c-1 b n'affiche un car que si r4=0
goc AffCarOk
r4=c b
goto Scroll
AffCarOk lc(2) 7
r4=c b
lc(5) Font-Offs-48*16
a=pc
Offs a=a+c a
b=a a
c=r1 a
d0=c
a=0 a
a=dat0 b
?a#0 b
goyes CarOk
c=r2 a
d0=c
a=dat0 b
CarOk cd0ex
c=c+2 a
r1=c a
c=b a
asl a
c=c+a a
d0=c
d1=(5) AddEcran
a=dat1 a
d1=a
a=dat1 a
lc(5) 5*34+32
a=a+c a
d1=a
lc(2) 7
AffCar a=dat0 b
dat1=a b
d0=d0+ 2
d1=d1+ 16
d1=d1+ 16
d1=d1+ 2
c=c-1 b
gonc AffCar
Scroll d1=(5) AddEcran
a=dat1 a
d1=a
a=dat1 a
lc(5) 5*34
a=a+c a
d0=a
d1=a
lc(1) 8
csrc
b=c s
lc(2) 7
b=c b
Scroll2 a=dat0 w
d0=d0+ 16
asrb
c=dat0 w
d0=d0+ 16
sb=0
csrb
?sb=0
goyes PasRet1
a=a!b s
PasRet1 dat1=a w
d1=d1+ 16
a=dat0 b
d0=d0+ 2
sb=0
asrb b
?sb=0
goyes PasRet2
c=c!b s
PasRet2 dat1=c w
d1=d1+ 16
dat1=a b
d1=d1+ 2
b=b-1 b
gonc Scroll2
rtn
**************************
**************************
**************************
* c=pointeur sur les parametre de l'araignee
Araignee a=r0
c=c+a a
d0=c
d1=c
st=0 0 flag mis a 1 si besoin de dessiner
* l'araignee
A=DAT0 A
D0=D0+ 5
C=DAT0 B
D0=D0+ 2
C=C-1 B
GONC DOA1
ST=1 0
C=DAT0 B
A=A+1 A
ABIT=0 2
DOA1 D0=D0+ 2
DAT1=A A
D1=D1+ 5
DAT1=C B
D1=D1+ 4
C=A A
D=C A
**********************
A=DAT0 A
D0=D0+ 5 ;h
C=DAT0 A ;dh
B=C A
D0=D0+ 5
C=DAT0 B
D0=D0+ 2 ;tempo
C=C-1 B
GONC DOA2
ST=1 0
A=A+B A
LC(5) 15
?A=C A
GOYES CHG
LC(5) 40
?A#C A
GOYES NOCHG
CHG B=-B A
NOCHG C=DAT0 B
DOA2 D0=D0+ 2
DAT1=A A
D1=D1+ 5
BCex A
DAT1=C A
D1=D1+ 5
BCex A
DAT1=C B
B=A A
?ST=0 0
RTNYES
d1=(5) AddEcran
a=dat1 a
d1=a
a=dat1 a
c=dat0 a
A=A+C A
B=B+B A
A=A+B A
BSL A
A=A+B A
D1=A
DSL A
D=D+D A
D=D+D A
D=D+D A
a=pc
O4 lc(5) ARAI-O4
c=c+a a
c=c+d a
d0=c
lc(2) 15
AffAr1 a=dat0 8
dat1=a 8
d0=d0+ 8
d1=d1+ 16
d1=d1+ 16
d1=d1+ 2
c=c-1 b
gonc AffAr1
rtn
ARAI1 con(5) 0 dessin
con(2) 0 tempo dessin
con(2) 7 tempo dessin 0
con(5) 16 H
con(5) -1 DH
con(2) 0 tempoH
con(2) 3 tempoH0
con(5) 3 deca
ARAI2 con(5) 0 dessin
con(2) 0 tempo dessin
con(2) 5 tempo dessin 0
con(5) 16 H
con(5) -1 DH
con(2) 0 tempoH
con(2) 1 tempoH0
con(5) 11 deca
ARAI3 con(5) 0 dessin
con(2) 0 tempo dessin
con(2) 8 tempo dessin 0
con(5) 16 H
con(5) -1 DH
con(2) 0 tempoH
con(2) 2 tempoH0
con(5) 22 deca
ARAI hex $00080000
HEX $0048010000A88200
HEX $002D5200087F7F00
HEX $04EFF31002BFF620
HEX $09C8894088CAA980
HEX $64A8821314AFF214
HEX $02A882200191C440
HEX $0801480004000010
HEX $00000000
HEX $00080000
HEX $00488E0000A8CA00
HEX $002D5B10087FF110
HEX $04EFF51002BFF530
HEX $09C8892088CAAB60
HEX $64A88A4014AFF2D0
HEX $02A882210191C202
HEX $0801440004000800
HEX $00000000
HEX $00080000
HEX $08B8810008A94600
HEX $0C6D5F0004CF7B10
HEX $04DFF31006DFF630
HEX $0AC885200BEAA560
HEX $09A88A4085277AC0
HEX $4221429020236221
HEX $0012220208000400
HEX $00000000
HEX $00080000
HEX $08B8010008A98200
HEX $0C6D520004CF7F00
HEX $04DFF31006DFF620
HEX $0AC889400BEAA980
HEX $09A8821385AFF210
HEX $42A8822000A1C440
HEX $0011480008000010
HEX $00000000
Font HEX $07CC68286CEFE7C3 0
HEX $81C1818080C1C1C1 1
HEX $C76E2E87C1E0E7EF 2
HEX $C3870E8F0E07C7E3 3
HEX $0E0FCFE6E70F0303 4
HEX $07C7E0C70E0ECEC7 5
HEX $81C0E1666CCEC783 6
HEX $8F0C0E0381C1C0E0 7
HEX $87CCED666CCEC783 8
HEX $83C7E66CCC0F0603 9
HEX $0001830100018301 : :
HEX $0000000000018301 . ;
HEX $0000000000000000 <
HEX $0183810000000000 ' =
HEX $0000000783000000 - >
HEX $0383838181004040 ! ?
HEX $07CDE86E6D66E0C3 @ @
HEX $0789C8CFEC6C6C60 A
HEX $03C464E3666CCF87 B
HEX $8142202060E6E7C3 C
HEX $C3466C686CEEE7C3
HEX $C3E170F170E0E3C7
HEX $C7C060E3E0E0E0C0
HEX $8142202067E6E7C3
HEX $848CCFC44466EEEE
HEX $C1C1818080C1C1C1
HEX $0F0404060683E3E1
HEX $808482C1C3C7CECC
HEX $404040406066EFEF
HEX $44CECFC54566EEEE
HEX $48C8C94B4FCEEEEC
HEX $07CC68286CEFE7C3
HEX $C3466C6FE7E16040
HEX $07CC682A6EEDE7CB
HEX $83C444E3E1636666
HEX $03C7E4C30E0CCEC7
HEX $CF03018181C1C0C0
HEX $484828286CEFE7C7
HEX $2828686C6CCEC787
HEX $4848282565E7E6E2
HEX $48C48783C3E66E6E
HEX $4848C4870783E3E1 Y
HEX $0F080C03C1E0EFEF Z
Text asc '<<<ARAIDEMO<<<'
asc '<<DEMO<EXEMPLE<DU<PROGRAMME<HPASM<'
asc 'SUR<AMIGA<<<<<<'
asc 'CONTACT<SUR<MINITEL<:<RTEL<EN<BAL<OSCAR<'
asc 'OU<SUR<INTERNET<:<VALLEE@ENSEA;FR<<<<<<<'
hex $00
FinCode